#ifndef COMMON_GESTOR_ENVIOS_H
#define COMMON_GESTOR_ENVIOS_H
#include <string>

class Gestor_envios {
public:
    /* Constructor */
    Gestor_envios();
    /* Destructor */
    ~Gestor_envios();
    /* Asegura que se realice el envio completo de los datos.
     * Devuelve -1 si hubo un error o 0 en otro caso. */
    int enviar(int aux_fd, std::string buffer, int tam);
    /* Asegura que se reciban completos los datos.
     * Devuelve -1 si hubo un error o 0 en otro caso. */
    int recibir(int aux_fd, std::string* buffer, int tam);


private:
    /* Devuelve true si hay un fin de linea en el buffer. False en caso contrario.*/
    bool buscar_fin_de_linea(char* buffer);
    /* Agranda el buffer al doble de su tamaño actual*/
    int agrandar_buffer(char* buffer, int buffer_tam);
};

#endif
